package com.practicesuite.systemlayer;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;

/**
 * 
 * @author ronaldbrown
 *
 */
public class DoctorOrder implements Serializable {
    private Collection<Prescription> pList;
    private Collection<String> labWorkPreformed;
    private String followUpInstructions;
    private String otherInstructions;
    //private TreatmentRecord treatmentRecord;
    private int treatingDoctor;
    private int docOrderId;
    
    /**
     * Default Constructor
     */
	public DoctorOrder() {
		this(new ArrayList<Prescription>(), new ArrayList<String>(), "", "", 0, 99999);
	}
	
	public int getTreatingDoctor() {
        return treatingDoctor;
    }

    public void setTreatingDoctor(int treatingDoctor) {
        this.treatingDoctor = treatingDoctor;
    }

    /**
	 * Doctor Order Constructor
	 * @param pList Prescription List
	 * @param labWorkPreformed Lab work list
	 * @param followUpInstructions Follow Up Instructions
	 * @param otherInstructions Other Instructions
	 * @param treatmentRecord Treatment Record
	 */
	public DoctorOrder(Collection<Prescription> pList, Collection<String> labWorkPreformed, String followUpInstructions
			 ,String otherInstructions, int treatingDoctor, int docOrderId) {
		this.pList = pList;
		this.labWorkPreformed = labWorkPreformed;
		this.followUpInstructions = followUpInstructions;
		this.otherInstructions = otherInstructions;
		this.docOrderId = docOrderId;
		this.treatingDoctor = treatingDoctor;
		
	}
	
	public int getDocOrderId() {
        return docOrderId;
    }

    public void setDocOrderId(int docOrderId) {
        this.docOrderId = docOrderId;
    }

    /**
	 * Saves to Database
	 * @return saves to database
	 */
	public boolean saveToDB() {
		//TODO: Need to implement hookin to save the Doctor's order to the database
		return true;
	}

	public Collection<Prescription> getpList() {
		return pList;
	}

	public void setpList(Collection<Prescription> pList) {
		this.pList = pList;
	}

	public Collection<String> getLabWorkPreformed() {
		return labWorkPreformed;
	}

	public void setLabWorkPreformed(Collection<String> labWorkPreformed) {
		this.labWorkPreformed = labWorkPreformed;
	}

	public String getFollowUpInstructions() {
		return followUpInstructions;
	}

	public void setFollowUpInstructions(String followUpInstructions) {
		this.followUpInstructions = followUpInstructions;
	}

	public String getOtherInstructions() {
		return otherInstructions;
	}

	public void setOtherInstructions(String otherInstructions) {
		this.otherInstructions = otherInstructions;
	}



    /**
     * To String method
     */
    public String toString() {
        return "DoctorOrder [pList=" + pList + ", labWorkPreformed="
                + labWorkPreformed + ", followUpInstructions="
                + followUpInstructions + ", otherInstructions="
                + otherInstructions 
                + "]";
    }
	
	
}
